{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Import modules\n",
    "\n",
    "updated with CuDNNLSTM"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Using TensorFlow backend.\n"
     ]
    }
   ],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import random\n",
    "\n",
    "import tensorflow as tf\n",
    "from tensorflow.keras.models import Sequential\n",
    "from tensorflow.keras.layers import Dense, Dropout, LSTM, CuDNNLSTM, BatchNormalization, LeakyReLU\n",
    "from tensorflow.keras.callbacks import TensorBoard\n",
    "from tensorflow.keras.callbacks import ModelCheckpoint\n",
    "from tensorflow.keras.callbacks import Callback\n",
    "import tensorflow.keras.backend as K\n",
    "#from keras.layers.advanced_activations import LeakyReLU\n",
    "\n",
    "from hyperopt import Trials, STATUS_OK, tpe\n",
    "from hyperas import optim\n",
    "from hyperas.distributions import choice, uniform\n",
    "\n",
    "import math\n",
    "from sklearn.preprocessing import RobustScaler\n",
    "from collections import deque\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Import the CSV file with technical data and sentiment analysis"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "data1 = pd.read_hdf('data2.h5', 'new_data')\n",
    "#data.index = pd.to_datetime(data.index, format='%Y-%m-%d')\n",
    "data1['Y'] = data1.lrets.shift(-1)\n",
    "data1.dropna(axis=0, inplace=True)\n",
    "#data1.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Train Test split for recurrent neural net\n",
    "\n",
    "Bayesian Search tool Hyperas requires a function to import the data\n",
    "\n",
    "http://scikit-learn.org/stable/auto_examples/preprocessing/plot_all_scaling.html\n",
    "\n",
    "https://pythonprogramming.net/crypto-rnn-model-deep-learning-python-tensorflow-keras/?completed=/balancing-rnn-data-deep-learning-python-tensorflow-keras/"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "def data():\n",
    "    def preprocess_df(data, shuffle=True):\n",
    "        mapped_data = data.copy()\n",
    "        SEQ_LEN = 60\n",
    "\n",
    "        scaler = RobustScaler()\n",
    "        data = scaler.fit_transform(data)\n",
    "\n",
    "        sequential_data = []  # this is a list that will CONTAIN the sequences\n",
    "        prev_days = deque(maxlen=SEQ_LEN)  # These will be our actual sequences. They are made with deque, which keeps the maximum length by popping out older values as new ones come in\n",
    "\n",
    "        for i in data:  # iterate over the values\n",
    "            prev_days.append([n for n in i[:-1]])  # store all but the target\n",
    "\n",
    "            # if prev_days have 60 days of data\n",
    "            if len(prev_days) == SEQ_LEN:\n",
    "                # sequential_data = [prev_days_data, target variable]\n",
    "                sequential_data.append([np.array(prev_days), i[-1]])  \n",
    "        if shuffle == True:\n",
    "            random.shuffle(sequential_data)  # shuffle for good measure.\n",
    "\n",
    "        X = []\n",
    "        y = []\n",
    "\n",
    "        for seq, target in sequential_data:  # going over our new sequential data\n",
    "            X.append(seq)  # X is the sequences\n",
    "            y.append(target)  # y is the targets/labels (buys vs sell/notbuy)\n",
    "\n",
    "        return np.array(X), y \n",
    "\n",
    "    data1 = pd.read_hdf('data2.h5', 'new_data')\n",
    "    #data.index = pd.to_datetime(data.index, format='%Y-%m-%d')\n",
    "    data1['Y'] = data1.lrets.shift(-1)\n",
    "    data1.dropna(axis=0, inplace=True)\n",
    "    times = sorted(data1.index.values)\n",
    "    last_5pct = sorted(data1.index.values)[-int(0.05*len(times))]\n",
    "\n",
    "    validation_main_df = data1[(data1.index >= last_5pct)]\n",
    "    main_df = data1[(data1.index < last_5pct)]\n",
    "\n",
    "    X_train, y_train = preprocess_df(main_df)\n",
    "    X_val, y_val = preprocess_df(validation_main_df, shuffle=False)\n",
    "    return X_train, y_train, X_val, y_val"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "X_train, y_train, X_val, y_val = data()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Build up GRU model\n",
    "\n",
    "- Using Bayesian search to search for the best model architecture\n",
    "\n",
    "- Batchnorm and dropout for regularization\n",
    "\n",
    "- https://www.quora.com/What-is-the-difference-between-dropout-and-batch-normalization"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def create_model(X_train, y_train, X_val, y_val):\n",
    "    model = Sequential()\n",
    "    model.add(CuDNNLSTM({{choice([256, 512, 1024])}}, input_shape=(X_train.shape[1:]), return_sequences=True))\n",
    "    model.add(BatchNormalization())  #normalizes activation outputs, same reason you want to normalize your input data.\n",
    "    \n",
    "    if {{choice(['two', 'three'])}} == 'three':\n",
    "        model.add(CuDNNLSTM({{choice([128, 256, 512])}}, return_sequences=True))\n",
    "        model.add(BatchNormalization())\n",
    "        model.add(Dropout({{uniform(0, 1)}}))\n",
    "\n",
    "    model.add(CuDNNLSTM({{choice([64, 128, 256])}}, return_sequences=False))\n",
    "    model.add(BatchNormalization())\n",
    "    model.add(Dropout({{uniform(0, 1)}}))\n",
    "        \n",
    "    model.add(Dense({{choice([16, 32, 64])}}, activation='relu'))\n",
    "    model.add(BatchNormalization())\n",
    "    model.add(Dropout({{uniform(0, 1)}}))\n",
    "    \n",
    "    #if {{choice(['leakyrelu', 'tanh'])}} == 'tanh':\n",
    "    #    model.add(Dense(1, activation='tanh'))\n",
    "    #else:\n",
    "    #    model.add(Dense(1, activation='linear'))\n",
    "    #    model.add(LeakyReLU(alpha=0.01))\n",
    "    model.add(Dense(1, activation='tanh'))\n",
    "    \n",
    "    model.compile(loss='mse',optimizer={{choice(['adam', 'sgd'])}}, metrics=['accuracy'])\n",
    "    \n",
    "    result = model.fit(X_train, y_train,\n",
    "          batch_size={{choice([8, 64])}},\n",
    "          epochs=3,\n",
    "          verbose=2,\n",
    "          validation_split=0.1)\n",
    "    \n",
    "    #get the highest validation accuracy of the training epochs\n",
    "    validation_acc = np.amax(result.history['val_acc']) \n",
    "    \n",
    "    return {'loss': -validation_acc, 'status': STATUS_OK, 'model': model}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      ">>> Imports:\n",
      "#coding=utf-8\n",
      "\n",
      "try:\n",
      "    import pandas as pd\n",
      "except:\n",
      "    pass\n",
      "\n",
      "try:\n",
      "    import numpy as np\n",
      "except:\n",
      "    pass\n",
      "\n",
      "try:\n",
      "    import random\n",
      "except:\n",
      "    pass\n",
      "\n",
      "try:\n",
      "    import tensorflow as tf\n",
      "except:\n",
      "    pass\n",
      "\n",
      "try:\n",
      "    from tensorflow.keras.models import Sequential\n",
      "except:\n",
      "    pass\n",
      "\n",
      "try:\n",
      "    from tensorflow.keras.layers import Dense, Dropout, LSTM, CuDNNLSTM, BatchNormalization, LeakyReLU\n",
      "except:\n",
      "    pass\n",
      "\n",
      "try:\n",
      "    from tensorflow.keras.callbacks import TensorBoard\n",
      "except:\n",
      "    pass\n",
      "\n",
      "try:\n",
      "    from tensorflow.keras.callbacks import ModelCheckpoint\n",
      "except:\n",
      "    pass\n",
      "\n",
      "try:\n",
      "    from tensorflow.keras.callbacks import Callback\n",
      "except:\n",
      "    pass\n",
      "\n",
      "try:\n",
      "    import tensorflow.keras.backend as K\n",
      "except:\n",
      "    pass\n",
      "\n",
      "try:\n",
      "    from hyperopt import Trials, STATUS_OK, tpe\n",
      "except:\n",
      "    pass\n",
      "\n",
      "try:\n",
      "    from hyperas import optim\n",
      "except:\n",
      "    pass\n",
      "\n",
      "try:\n",
      "    from hyperas.distributions import choice, uniform\n",
      "except:\n",
      "    pass\n",
      "\n",
      "try:\n",
      "    import math\n",
      "except:\n",
      "    pass\n",
      "\n",
      "try:\n",
      "    from sklearn.preprocessing import RobustScaler\n",
      "except:\n",
      "    pass\n",
      "\n",
      "try:\n",
      "    from collections import deque\n",
      "except:\n",
      "    pass\n",
      "\n",
      "try:\n",
      "    import matplotlib.pyplot as plt\n",
      "except:\n",
      "    pass\n",
      "\n",
      "try:\n",
      "    import seaborn as sns\n",
      "except:\n",
      "    pass\n",
      "\n",
      "try:\n",
      "    import scipy.stats as stats\n",
      "except:\n",
      "    pass\n",
      "\n",
      ">>> Hyperas search space:\n",
      "\n",
      "def get_space():\n",
      "    return {\n",
      "        'CuDNNLSTM': hp.choice('CuDNNLSTM', [256, 512, 1024]),\n",
      "        'CuDNNLSTM_1': hp.choice('CuDNNLSTM_1', ['two', 'three']),\n",
      "        'CuDNNLSTM_2': hp.choice('CuDNNLSTM_2', [128, 256, 512]),\n",
      "        'Dropout': hp.uniform('Dropout', 0, 1),\n",
      "        'CuDNNLSTM_3': hp.choice('CuDNNLSTM_3', [64, 128, 256]),\n",
      "        'Dropout_1': hp.uniform('Dropout_1', 0, 1),\n",
      "        'Dense': hp.choice('Dense', [16, 32, 64]),\n",
      "        'Dropout_2': hp.uniform('Dropout_2', 0, 1),\n",
      "        'Dropout_3': hp.choice('Dropout_3', ['leakyrelu', 'tanh']),\n",
      "        'optimizer': hp.choice('optimizer', ['adam', 'sgd']),\n",
      "        'batch_size': hp.choice('batch_size', [8, 64]),\n",
      "    }\n",
      "\n",
      ">>> Data\n",
      "   1: \n",
      "   2: def preprocess_df(data, shuffle=True):\n",
      "   3:     mapped_data = data.copy()\n",
      "   4:     SEQ_LEN = 60\n",
      "   5: \n",
      "   6:     scaler = RobustScaler()\n",
      "   7:     data = scaler.fit_transform(data)\n",
      "   8: \n",
      "   9:     sequential_data = []  # this is a list that will CONTAIN the sequences\n",
      "  10:     prev_days = deque(maxlen=SEQ_LEN)  # These will be our actual sequences. They are made with deque, which keeps the maximum length by popping out older values as new ones come in\n",
      "  11: \n",
      "  12:     for i in data:  # iterate over the values\n",
      "  13:         prev_days.append([n for n in i[:-1]])  # store all but the target\n",
      "  14: \n",
      "  15:         # if prev_days have 60 days of data\n",
      "  16:         if len(prev_days) == SEQ_LEN:\n",
      "  17:             # sequential_data = [prev_days_data, target variable]\n",
      "  18:             sequential_data.append([np.array(prev_days), i[-1]])  \n",
      "  19:     if shuffle == True:\n",
      "  20:         random.shuffle(sequential_data)  # shuffle for good measure.\n",
      "  21: \n",
      "  22:     X = []\n",
      "  23:     y = []\n",
      "  24: \n",
      "  25:     for seq, target in sequential_data:  # going over our new sequential data\n",
      "  26:         X.append(seq)  # X is the sequences\n",
      "  27:         y.append(target)  # y is the targets/labels (buys vs sell/notbuy)\n",
      "  28: \n",
      "  29:     return np.array(X), y \n",
      "  30: \n",
      "  31: data1 = pd.read_hdf('data2.h5', 'new_data')\n",
      "  32: #data.index = pd.to_datetime(data.index, format='%Y-%m-%d')\n",
      "  33: data1['Y'] = data1.lrets.shift(-1)\n",
      "  34: data1.dropna(axis=0, inplace=True)\n",
      "  35: times = sorted(data1.index.values)\n",
      "  36: last_5pct = sorted(data1.index.values)[-int(0.05*len(times))]\n",
      "  37: \n",
      "  38: validation_main_df = data1[(data1.index >= last_5pct)]\n",
      "  39: main_df = data1[(data1.index < last_5pct)]\n",
      "  40: \n",
      "  41: X_train, y_train = preprocess_df(main_df)\n",
      "  42: X_val, y_val = preprocess_df(validation_main_df, shuffle=False)\n",
      "  43: \n",
      "  44: \n",
      "  45: \n",
      ">>> Resulting replaced keras model:\n",
      "\n",
      "   1: def keras_fmin_fnct(space):\n",
      "   2: \n",
      "   3:     model = Sequential()\n",
      "   4:     model.add(CuDNNLSTM(space['CuDNNLSTM'], input_shape=(X_train.shape[1:]), return_sequences=True))\n",
      "   5:     model.add(BatchNormalization())  #normalizes activation outputs, same reason you want to normalize your input data.\n",
      "   6:     \n",
      "   7:     if space['CuDNNLSTM_1'] == 'three':\n",
      "   8:         model.add(CuDNNLSTM(space['CuDNNLSTM_2'], return_sequences=True))\n",
      "   9:         model.add(BatchNormalization())\n",
      "  10:         model.add(Dropout(space['Dropout']))\n",
      "  11: \n",
      "  12:     model.add(CuDNNLSTM(space['CuDNNLSTM_3'], return_sequences=False))\n",
      "  13:     model.add(BatchNormalization())\n",
      "  14:     model.add(Dropout(space['Dropout_1']))\n",
      "  15:         \n",
      "  16:     model.add(Dense(space['Dense'], activation='relu'))\n",
      "  17:     model.add(BatchNormalization())\n",
      "  18:     model.add(Dropout(space['Dropout_2']))\n",
      "  19:     \n",
      "  20:     #if space['Dropout_3'] == 'tanh':\n",
      "  21:     #    model.add(Dense(1, activation='tanh'))\n",
      "  22:     #else:\n",
      "  23:     #    model.add(Dense(1, activation='linear'))\n",
      "  24:     #    model.add(LeakyReLU(alpha=0.01))\n",
      "  25:     model.add(Dense(1, activation='tanh'))\n",
      "  26:     \n",
      "  27:     model.compile(loss='mse',optimizer=space['optimizer'], metrics=['accuracy'])\n",
      "  28:     \n",
      "  29:     result = model.fit(X_train, y_train,\n",
      "  30:           batch_size=space['batch_size'],\n",
      "  31:           epochs=3,\n",
      "  32:           verbose=2,\n",
      "  33:           validation_split=0.1)\n",
      "  34:     \n",
      "  35:     #get the highest validation accuracy of the training epochs\n",
      "  36:     validation_acc = np.amax(result.history['val_acc']) \n",
      "  37:     \n",
      "  38:     return {'loss': -validation_acc, 'status': STATUS_OK, 'model': model}\n",
      "  39: \n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 10s - loss: 2.1401 - acc: 2.4361e-04 - val_loss: 1.2176 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 7s - loss: 2.1556 - acc: 0.0000e+00 - val_loss: 1.2195 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 7s - loss: 2.0982 - acc: 2.4361e-04 - val_loss: 1.1798 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 33s - loss: 1.9797 - acc: 0.0000e+00 - val_loss: 1.3174 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 32s - loss: 1.9009 - acc: 2.4361e-04 - val_loss: 1.3447 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 32s - loss: 1.7464 - acc: 0.0000e+00 - val_loss: 1.3814 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 20s - loss: 1.8993 - acc: 2.4361e-04 - val_loss: 1.1203 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 19s - loss: 1.6816 - acc: 0.0000e+00 - val_loss: 1.1892 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 19s - loss: 1.6577 - acc: 2.4361e-04 - val_loss: 1.1548 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 8s - loss: 2.0488 - acc: 0.0000e+00 - val_loss: 1.1984 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 7s - loss: 1.9604 - acc: 0.0000e+00 - val_loss: 1.2180 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 7s - loss: 1.8820 - acc: 0.0000e+00 - val_loss: 1.1276 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 31s - loss: 1.8180 - acc: 0.0000e+00 - val_loss: 1.2662 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 30s - loss: 1.6229 - acc: 2.4361e-04 - val_loss: 1.1730 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 30s - loss: 1.6113 - acc: 0.0000e+00 - val_loss: 1.1512 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 8s - loss: 1.4499 - acc: 2.4361e-04 - val_loss: 1.1028 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 6s - loss: 1.4515 - acc: 2.4361e-04 - val_loss: 1.1026 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 6s - loss: 1.4506 - acc: 2.4361e-04 - val_loss: 1.1026 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 5s - loss: 2.0353 - acc: 2.4361e-04 - val_loss: 1.2513 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 4s - loss: 1.9049 - acc: 2.4361e-04 - val_loss: 1.2613 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 4s - loss: 1.8228 - acc: 0.0000e+00 - val_loss: 1.1674 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 8s - loss: 1.7417 - acc: 2.4361e-04 - val_loss: 1.2385 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 6s - loss: 1.6105 - acc: 2.4361e-04 - val_loss: 1.1051 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 6s - loss: 1.6130 - acc: 2.4361e-04 - val_loss: 1.1117 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 9s - loss: 2.1111 - acc: 0.0000e+00 - val_loss: 1.3084 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 6s - loss: 2.1600 - acc: 0.0000e+00 - val_loss: 1.1596 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 6s - loss: 2.0634 - acc: 0.0000e+00 - val_loss: 1.2541 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 31s - loss: 1.4571 - acc: 2.4361e-04 - val_loss: 1.1042 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 29s - loss: 1.4564 - acc: 2.4361e-04 - val_loss: 1.1048 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 29s - loss: 1.4538 - acc: 2.4361e-04 - val_loss: 1.1075 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 8s - loss: 1.4505 - acc: 2.4361e-04 - val_loss: 1.1028 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 6s - loss: 1.4507 - acc: 2.4361e-04 - val_loss: 1.1036 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 6s - loss: 1.4512 - acc: 2.4361e-04 - val_loss: 1.1039 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 50s - loss: 1.4566 - acc: 2.4361e-04 - val_loss: 1.1028 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 47s - loss: 1.4566 - acc: 2.4361e-04 - val_loss: 1.1084 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 47s - loss: 1.4609 - acc: 2.4361e-04 - val_loss: 1.1276 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 6s - loss: 2.1590 - acc: 2.4361e-04 - val_loss: 1.1589 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 4s - loss: 2.0908 - acc: 0.0000e+00 - val_loss: 1.1664 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 4s - loss: 2.0647 - acc: 2.4361e-04 - val_loss: 1.3706 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 12s - loss: 1.4509 - acc: 2.4361e-04 - val_loss: 1.1026 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 9s - loss: 1.4507 - acc: 2.4361e-04 - val_loss: 1.1031 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 9s - loss: 1.4495 - acc: 2.4361e-04 - val_loss: 1.1036 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 9s - loss: 1.4509 - acc: 2.4361e-04 - val_loss: 1.1029 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 6s - loss: 1.4516 - acc: 2.4361e-04 - val_loss: 1.1042 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 6s - loss: 1.4507 - acc: 2.4361e-04 - val_loss: 1.1026 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 8s - loss: 1.4497 - acc: 2.4361e-04 - val_loss: 1.1026 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 5s - loss: 1.4519 - acc: 2.4361e-04 - val_loss: 1.1031 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 5s - loss: 1.4517 - acc: 2.4361e-04 - val_loss: 1.1056 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 8s - loss: 1.4513 - acc: 2.4361e-04 - val_loss: 1.1031 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 5s - loss: 1.4517 - acc: 2.4361e-04 - val_loss: 1.1034 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 5s - loss: 1.4519 - acc: 2.4361e-04 - val_loss: 1.1026 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 32s - loss: 1.4697 - acc: 2.4361e-04 - val_loss: 1.1113 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 29s - loss: 1.4689 - acc: 2.4361e-04 - val_loss: 1.1027 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 29s - loss: 1.4708 - acc: 2.4361e-04 - val_loss: 1.1030 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 10s - loss: 1.4523 - acc: 2.4361e-04 - val_loss: 1.1026 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 6s - loss: 1.4509 - acc: 2.4361e-04 - val_loss: 1.1026 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 6s - loss: 1.4516 - acc: 2.4361e-04 - val_loss: 1.1025 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 44s - loss: 1.4534 - acc: 2.4361e-04 - val_loss: 1.1035 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 41s - loss: 1.4550 - acc: 2.4361e-04 - val_loss: 1.1151 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 41s - loss: 1.4553 - acc: 2.4361e-04 - val_loss: 1.1637 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 19s - loss: 1.9481 - acc: 0.0000e+00 - val_loss: 1.1208 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 15s - loss: 1.9216 - acc: 0.0000e+00 - val_loss: 1.1070 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 15s - loss: 1.9433 - acc: 0.0000e+00 - val_loss: 1.1535 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 7s - loss: 2.1342 - acc: 0.0000e+00 - val_loss: 1.1554 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 4s - loss: 2.0979 - acc: 2.4361e-04 - val_loss: 1.4481 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 4s - loss: 2.1103 - acc: 0.0000e+00 - val_loss: 1.3942 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 31s - loss: 2.1882 - acc: 0.0000e+00 - val_loss: 1.4346 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 27s - loss: 2.2548 - acc: 0.0000e+00 - val_loss: 1.7535 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 27s - loss: 2.1485 - acc: 0.0000e+00 - val_loss: 1.1407 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 19s - loss: 1.6564 - acc: 0.0000e+00 - val_loss: 1.1068 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 15s - loss: 1.6143 - acc: 0.0000e+00 - val_loss: 1.1347 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 15s - loss: 1.5841 - acc: 0.0000e+00 - val_loss: 1.1380 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 7s - loss: 2.2269 - acc: 0.0000e+00 - val_loss: 1.2435 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 4s - loss: 2.2115 - acc: 0.0000e+00 - val_loss: 1.3736 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 4s - loss: 2.1944 - acc: 2.4361e-04 - val_loss: 1.4431 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 32s - loss: 2.2343 - acc: 0.0000e+00 - val_loss: 1.2610 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 27s - loss: 2.1320 - acc: 0.0000e+00 - val_loss: 1.1039 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 27s - loss: 2.0299 - acc: 0.0000e+00 - val_loss: 1.1096 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 20s - loss: 2.0829 - acc: 0.0000e+00 - val_loss: 1.1798 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 15s - loss: 2.0284 - acc: 0.0000e+00 - val_loss: 1.1774 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 15s - loss: 1.9312 - acc: 0.0000e+00 - val_loss: 1.1725 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 8s - loss: 2.2211 - acc: 0.0000e+00 - val_loss: 1.2075 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 4s - loss: 2.1955 - acc: 0.0000e+00 - val_loss: 1.2090 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 4s - loss: 2.1772 - acc: 0.0000e+00 - val_loss: 1.2305 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 32s - loss: 1.4507 - acc: 2.4361e-04 - val_loss: 1.1027 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 27s - loss: 1.4512 - acc: 2.4361e-04 - val_loss: 1.1049 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 27s - loss: 1.4539 - acc: 2.4361e-04 - val_loss: 1.1026 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 22s - loss: 1.4522 - acc: 2.4361e-04 - val_loss: 1.1063 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 17s - loss: 1.4532 - acc: 2.4361e-04 - val_loss: 1.1026 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 17s - loss: 1.4506 - acc: 2.4361e-04 - val_loss: 1.1043 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 12s - loss: 1.4504 - acc: 2.4361e-04 - val_loss: 1.1025 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 7s - loss: 1.4512 - acc: 2.4361e-04 - val_loss: 1.1026 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 7s - loss: 1.4527 - acc: 2.4361e-04 - val_loss: 1.1026 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 38s - loss: 1.4522 - acc: 2.4361e-04 - val_loss: 1.1035 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 33s - loss: 1.4523 - acc: 2.4361e-04 - val_loss: 1.1029 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 33s - loss: 1.4497 - acc: 2.4361e-04 - val_loss: 1.1082 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 27s - loss: 1.4528 - acc: 2.4361e-04 - val_loss: 1.1029 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 21s - loss: 1.4514 - acc: 2.4361e-04 - val_loss: 1.1028 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 21s - loss: 1.4546 - acc: 2.4361e-04 - val_loss: 1.1037 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 13s - loss: 1.4498 - acc: 2.4361e-04 - val_loss: 1.1026 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 7s - loss: 1.4508 - acc: 2.4361e-04 - val_loss: 1.1026 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 7s - loss: 1.4506 - acc: 2.4361e-04 - val_loss: 1.1027 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 39s - loss: 1.4508 - acc: 2.4361e-04 - val_loss: 1.1027 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 33s - loss: 1.4514 - acc: 2.4361e-04 - val_loss: 1.1027 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 33s - loss: 1.4513 - acc: 2.4361e-04 - val_loss: 1.1054 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 49s - loss: 1.4560 - acc: 2.4361e-04 - val_loss: 1.1745 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 42s - loss: 1.4590 - acc: 2.4361e-04 - val_loss: 1.1266 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 42s - loss: 1.4541 - acc: 2.4361e-04 - val_loss: 1.1066 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 21s - loss: 1.4681 - acc: 2.4361e-04 - val_loss: 1.1027 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 15s - loss: 1.4830 - acc: 2.4361e-04 - val_loss: 1.1031 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 15s - loss: 1.4690 - acc: 2.4361e-04 - val_loss: 1.1031 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 10s - loss: 2.2498 - acc: 0.0000e+00 - val_loss: 1.1811 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 4s - loss: 2.1670 - acc: 0.0000e+00 - val_loss: 1.2703 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 4s - loss: 2.0475 - acc: 2.4361e-04 - val_loss: 1.1302 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 10s - loss: 2.0318 - acc: 2.4361e-04 - val_loss: 1.3413 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 4s - loss: 1.9537 - acc: 2.4361e-04 - val_loss: 1.1622 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 4s - loss: 1.9106 - acc: 2.4361e-04 - val_loss: 1.1134 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 14s - loss: 2.1376 - acc: 0.0000e+00 - val_loss: 1.4060 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 7s - loss: 2.1139 - acc: 0.0000e+00 - val_loss: 1.7431 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 7s - loss: 2.1497 - acc: 0.0000e+00 - val_loss: 1.4408 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 41s - loss: 2.1394 - acc: 0.0000e+00 - val_loss: 1.1019 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 34s - loss: 2.0598 - acc: 0.0000e+00 - val_loss: 1.1041 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 34s - loss: 1.9941 - acc: 0.0000e+00 - val_loss: 1.1369 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 35s - loss: 1.9108 - acc: 2.4361e-04 - val_loss: 1.1905 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 28s - loss: 1.7585 - acc: 2.4361e-04 - val_loss: 1.1102 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 28s - loss: 1.6410 - acc: 2.4361e-04 - val_loss: 1.1187 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 11s - loss: 1.7358 - acc: 2.4361e-04 - val_loss: 1.1041 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 4s - loss: 1.6475 - acc: 2.4361e-04 - val_loss: 1.1156 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 4s - loss: 1.5848 - acc: 2.4361e-04 - val_loss: 1.1489 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 23s - loss: 2.0579 - acc: 0.0000e+00 - val_loss: 1.3259 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 16s - loss: 1.9846 - acc: 0.0000e+00 - val_loss: 1.3301 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 16s - loss: 1.9057 - acc: 0.0000e+00 - val_loss: 1.2665 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 14s - loss: 1.4521 - acc: 2.4361e-04 - val_loss: 1.1030 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 7s - loss: 1.4528 - acc: 2.4361e-04 - val_loss: 1.1029 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 7s - loss: 1.4517 - acc: 2.4361e-04 - val_loss: 1.1026 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 12s - loss: 2.1717 - acc: 0.0000e+00 - val_loss: 1.1138 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 4s - loss: 1.9572 - acc: 0.0000e+00 - val_loss: 1.1336 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 4s - loss: 1.8394 - acc: 2.4361e-04 - val_loss: 1.1205 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 32s - loss: 2.1136 - acc: 2.4361e-04 - val_loss: 1.1779 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 24s - loss: 1.8958 - acc: 0.0000e+00 - val_loss: 1.1849 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 24s - loss: 1.7529 - acc: 2.4361e-04 - val_loss: 1.1084 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 15s - loss: 2.1952 - acc: 0.0000e+00 - val_loss: 1.3620 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 7s - loss: 2.1410 - acc: 0.0000e+00 - val_loss: 1.2330 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 7s - loss: 2.1812 - acc: 2.4361e-04 - val_loss: 1.1481 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 39s - loss: 1.4579 - acc: 2.4361e-04 - val_loss: 1.1160 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 30s - loss: 1.4595 - acc: 2.4361e-04 - val_loss: 1.1073 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 31s - loss: 1.4593 - acc: 2.4361e-04 - val_loss: 1.1051 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 11s - loss: 1.4511 - acc: 2.4361e-04 - val_loss: 1.1036 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 3s - loss: 1.4508 - acc: 2.4361e-04 - val_loss: 1.1033 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 3s - loss: 1.4502 - acc: 2.4361e-04 - val_loss: 1.1026 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 16s - loss: 1.4503 - acc: 2.4361e-04 - val_loss: 1.1026 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 7s - loss: 1.4491 - acc: 2.4361e-04 - val_loss: 1.1029 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 7s - loss: 1.4539 - acc: 2.4361e-04 - val_loss: 1.1026 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 15s - loss: 1.4520 - acc: 2.4361e-04 - val_loss: 1.1042 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 6s - loss: 1.4509 - acc: 2.4361e-04 - val_loss: 1.1068 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 6s - loss: 1.4507 - acc: 2.4361e-04 - val_loss: 1.1026 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 37s - loss: 1.4523 - acc: 2.4361e-04 - val_loss: 1.1041 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 28s - loss: 1.4524 - acc: 2.4361e-04 - val_loss: 1.1033 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 28s - loss: 1.4523 - acc: 2.4361e-04 - val_loss: 1.1027 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 43s - loss: 1.4513 - acc: 2.4361e-04 - val_loss: 1.1036 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 34s - loss: 1.4519 - acc: 2.4361e-04 - val_loss: 1.1026 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 34s - loss: 1.4523 - acc: 2.4361e-04 - val_loss: 1.1030 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 12s - loss: 2.0918 - acc: 0.0000e+00 - val_loss: 1.2396 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 3s - loss: 2.0033 - acc: 0.0000e+00 - val_loss: 1.1827 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 3s - loss: 1.9416 - acc: 0.0000e+00 - val_loss: 1.2063 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 45s - loss: 1.4504 - acc: 2.4361e-04 - val_loss: 1.1026 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 35s - loss: 1.4494 - acc: 2.4361e-04 - val_loss: 1.1066 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 36s - loss: 1.4558 - acc: 2.4361e-04 - val_loss: 1.1026 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 18s - loss: 1.4509 - acc: 2.4361e-04 - val_loss: 1.1026 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 7s - loss: 1.4500 - acc: 2.4361e-04 - val_loss: 1.1030 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 7s - loss: 1.4506 - acc: 2.4361e-04 - val_loss: 1.1025 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 16s - loss: 1.4513 - acc: 2.4361e-04 - val_loss: 1.1025 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 6s - loss: 1.4521 - acc: 2.4361e-04 - val_loss: 1.1027 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 6s - loss: 1.4508 - acc: 2.4361e-04 - val_loss: 1.1040 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 44s - loss: 1.4514 - acc: 2.4361e-04 - val_loss: 1.1027 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 33s - loss: 1.4527 - acc: 2.4361e-04 - val_loss: 1.1032 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 33s - loss: 1.4501 - acc: 2.4361e-04 - val_loss: 1.1050 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 44s - loss: 1.4519 - acc: 2.4361e-04 - val_loss: 1.1027 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 33s - loss: 1.4513 - acc: 2.4361e-04 - val_loss: 1.1058 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 33s - loss: 1.4511 - acc: 2.4361e-04 - val_loss: 1.1026 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 15s - loss: 1.4506 - acc: 2.4361e-04 - val_loss: 1.1032 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 4s - loss: 1.4504 - acc: 2.4361e-04 - val_loss: 1.1035 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 4s - loss: 1.4506 - acc: 2.4361e-04 - val_loss: 1.1028 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 30s - loss: 1.9037 - acc: 0.0000e+00 - val_loss: 1.2065 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 20s - loss: 1.6988 - acc: 2.4361e-04 - val_loss: 1.2828 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 20s - loss: 1.6643 - acc: 2.4361e-04 - val_loss: 1.3108 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 19s - loss: 2.1493 - acc: 0.0000e+00 - val_loss: 1.2757 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 7s - loss: 2.1774 - acc: 0.0000e+00 - val_loss: 1.1502 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 7s - loss: 2.1407 - acc: 0.0000e+00 - val_loss: 1.5535 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 19s - loss: 1.4507 - acc: 2.4361e-04 - val_loss: 1.1044 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 7s - loss: 1.4501 - acc: 2.4361e-04 - val_loss: 1.1026 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 7s - loss: 1.4496 - acc: 2.4361e-04 - val_loss: 1.1029 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 44s - loss: 1.8375 - acc: 2.4361e-04 - val_loss: 1.2287 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 32s - loss: 1.7744 - acc: 0.0000e+00 - val_loss: 1.2210 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 32s - loss: 1.6487 - acc: 2.4361e-04 - val_loss: 1.1259 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 56s - loss: 1.4591 - acc: 2.4361e-04 - val_loss: 1.1103 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 44s - loss: 1.4601 - acc: 2.4361e-04 - val_loss: 1.1065 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 44s - loss: 1.4573 - acc: 2.4361e-04 - val_loss: 1.1110 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 60s - loss: 1.4571 - acc: 2.4361e-04 - val_loss: 1.1159 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 48s - loss: 1.4589 - acc: 2.4361e-04 - val_loss: 1.1039 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 48s - loss: 1.4564 - acc: 2.4361e-04 - val_loss: 1.1030 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 60s - loss: 1.4545 - acc: 2.4361e-04 - val_loss: 1.1032 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 48s - loss: 1.4556 - acc: 2.4361e-04 - val_loss: 1.1110 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 48s - loss: 1.4563 - acc: 2.4361e-04 - val_loss: 1.1028 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 16s - loss: 2.1971 - acc: 0.0000e+00 - val_loss: 1.2786 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 3s - loss: 2.2726 - acc: 0.0000e+00 - val_loss: 1.7103 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 3s - loss: 2.2260 - acc: 0.0000e+00 - val_loss: 1.3769 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 16s - loss: 1.7918 - acc: 0.0000e+00 - val_loss: 1.1751 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 4s - loss: 1.7705 - acc: 2.4361e-04 - val_loss: 1.1449 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 4s - loss: 1.7421 - acc: 0.0000e+00 - val_loss: 1.4259 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 17s - loss: 1.4514 - acc: 2.4361e-04 - val_loss: 1.1026 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 4s - loss: 1.4524 - acc: 2.4361e-04 - val_loss: 1.1026 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 4s - loss: 1.4503 - acc: 2.4361e-04 - val_loss: 1.1026 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 19s - loss: 1.9626 - acc: 0.0000e+00 - val_loss: 1.1529 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 6s - loss: 1.8640 - acc: 2.4361e-04 - val_loss: 1.1787 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 6s - loss: 1.8481 - acc: 2.4361e-04 - val_loss: 1.1691 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 21s - loss: 1.4522 - acc: 2.4361e-04 - val_loss: 1.1026 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 8s - loss: 1.4518 - acc: 2.4361e-04 - val_loss: 1.1030 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 8s - loss: 1.4513 - acc: 2.4361e-04 - val_loss: 1.1058 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 22s - loss: 1.4527 - acc: 2.4361e-04 - val_loss: 1.1027 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 8s - loss: 1.4547 - acc: 2.4361e-04 - val_loss: 1.1036 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 8s - loss: 1.4520 - acc: 2.4361e-04 - val_loss: 1.1025 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 21s - loss: 1.4516 - acc: 2.4361e-04 - val_loss: 1.1032 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 7s - loss: 1.4511 - acc: 2.4361e-04 - val_loss: 1.1033 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 7s - loss: 1.4508 - acc: 2.4361e-04 - val_loss: 1.1029 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 49s - loss: 2.0075 - acc: 0.0000e+00 - val_loss: 2.0473 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 34s - loss: 1.9109 - acc: 0.0000e+00 - val_loss: 1.5996 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 34s - loss: 1.8044 - acc: 0.0000e+00 - val_loss: 1.3881 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 20s - loss: 1.9945 - acc: 0.0000e+00 - val_loss: 1.1169 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 6s - loss: 1.8653 - acc: 2.4361e-04 - val_loss: 1.1087 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 6s - loss: 1.7222 - acc: 2.4361e-04 - val_loss: 1.1048 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 22s - loss: 2.0151 - acc: 2.4361e-04 - val_loss: 1.2297 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 7s - loss: 2.0154 - acc: 0.0000e+00 - val_loss: 1.1486 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 7s - loss: 1.8405 - acc: 2.4361e-04 - val_loss: 1.1357 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 20s - loss: 1.4512 - acc: 2.4361e-04 - val_loss: 1.1058 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 6s - loss: 1.4504 - acc: 2.4361e-04 - val_loss: 1.1026 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 6s - loss: 1.4520 - acc: 2.4361e-04 - val_loss: 1.1026 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 25s - loss: 1.4513 - acc: 2.4361e-04 - val_loss: 1.1028 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 9s - loss: 1.4500 - acc: 2.4361e-04 - val_loss: 1.1027 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 9s - loss: 1.4518 - acc: 2.4361e-04 - val_loss: 1.1026 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 22s - loss: 1.4507 - acc: 2.4361e-04 - val_loss: 1.1028 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 6s - loss: 1.4511 - acc: 2.4361e-04 - val_loss: 1.1026 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 6s - loss: 1.4516 - acc: 2.4361e-04 - val_loss: 1.1046 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 22s - loss: 1.4501 - acc: 2.4361e-04 - val_loss: 1.1030 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 6s - loss: 1.4507 - acc: 2.4361e-04 - val_loss: 1.1036 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 6s - loss: 1.4514 - acc: 2.4361e-04 - val_loss: 1.1027 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 21s - loss: 2.0136 - acc: 0.0000e+00 - val_loss: 1.1999 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 6s - loss: 1.8744 - acc: 0.0000e+00 - val_loss: 1.2154 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 6s - loss: 1.7064 - acc: 0.0000e+00 - val_loss: 1.1612 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 50s - loss: 1.9255 - acc: 2.4361e-04 - val_loss: 1.6958 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 34s - loss: 1.8009 - acc: 0.0000e+00 - val_loss: 1.6040 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 34s - loss: 1.6688 - acc: 2.4361e-04 - val_loss: 1.6951 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 20s - loss: 1.9175 - acc: 0.0000e+00 - val_loss: 1.4083 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 4s - loss: 1.7799 - acc: 2.4361e-04 - val_loss: 1.1183 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 4s - loss: 1.7340 - acc: 2.4361e-04 - val_loss: 1.2519 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 20s - loss: 1.4503 - acc: 2.4361e-04 - val_loss: 1.1025 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 4s - loss: 1.4508 - acc: 2.4361e-04 - val_loss: 1.1026 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 4s - loss: 1.4505 - acc: 2.4361e-04 - val_loss: 1.1027 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 36s - loss: 1.4546 - acc: 2.4361e-04 - val_loss: 1.1048 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 20s - loss: 1.4568 - acc: 2.4361e-04 - val_loss: 1.1078 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 20s - loss: 1.4559 - acc: 2.4361e-04 - val_loss: 1.1284 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 20s - loss: 1.4511 - acc: 2.4361e-04 - val_loss: 1.1046 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 4s - loss: 1.4532 - acc: 2.4361e-04 - val_loss: 1.1030 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 4s - loss: 1.4527 - acc: 2.4361e-04 - val_loss: 1.1030 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 25s - loss: 1.4510 - acc: 2.4361e-04 - val_loss: 1.1027 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 7s - loss: 1.4521 - acc: 2.4361e-04 - val_loss: 1.1029 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 7s - loss: 1.4514 - acc: 2.4361e-04 - val_loss: 1.1029 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 25s - loss: 1.4516 - acc: 2.4361e-04 - val_loss: 1.1032 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 7s - loss: 1.4511 - acc: 2.4361e-04 - val_loss: 1.1029 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 7s - loss: 1.4518 - acc: 2.4361e-04 - val_loss: 1.1026 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 51s - loss: 1.4516 - acc: 2.4361e-04 - val_loss: 1.1047 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 33s - loss: 1.4513 - acc: 2.4361e-04 - val_loss: 1.1026 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 33s - loss: 1.4509 - acc: 2.4361e-04 - val_loss: 1.1035 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 58s - loss: 1.4568 - acc: 2.4361e-04 - val_loss: 1.1029 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 40s - loss: 1.4554 - acc: 2.4361e-04 - val_loss: 1.1038 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 40s - loss: 1.4559 - acc: 2.4361e-04 - val_loss: 1.1100 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 67s - loss: 1.6894 - acc: 0.0000e+00 - val_loss: 1.1049 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 48s - loss: 1.4790 - acc: 2.4361e-04 - val_loss: 1.1164 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 49s - loss: 1.4815 - acc: 2.4361e-04 - val_loss: 1.1147 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 63s - loss: 1.4557 - acc: 2.4361e-04 - val_loss: 1.1028 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 44s - loss: 1.4565 - acc: 2.4361e-04 - val_loss: 1.1032 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 44s - loss: 1.4532 - acc: 2.4361e-04 - val_loss: 1.1222 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 67s - loss: 1.4569 - acc: 2.4361e-04 - val_loss: 1.1047 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 48s - loss: 1.4561 - acc: 2.4361e-04 - val_loss: 1.1032 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 48s - loss: 1.4554 - acc: 2.4361e-04 - val_loss: 1.1092 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 22s - loss: 1.4502 - acc: 2.4361e-04 - val_loss: 1.1029 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 3s - loss: 1.4497 - acc: 2.4361e-04 - val_loss: 1.1033 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 4s - loss: 1.4503 - acc: 2.4361e-04 - val_loss: 1.1027 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 22s - loss: 1.4545 - acc: 2.4361e-04 - val_loss: 1.1026 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 3s - loss: 1.4539 - acc: 2.4361e-04 - val_loss: 1.1028 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 3s - loss: 1.4519 - acc: 2.4361e-04 - val_loss: 1.1028 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 23s - loss: 2.2694 - acc: 2.4361e-04 - val_loss: 1.1653 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 3s - loss: 2.2333 - acc: 0.0000e+00 - val_loss: 1.1560 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 3s - loss: 2.1670 - acc: 0.0000e+00 - val_loss: 1.1171 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 23s - loss: 1.4507 - acc: 2.4361e-04 - val_loss: 1.1025 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 4s - loss: 1.4501 - acc: 2.4361e-04 - val_loss: 1.1027 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 4s - loss: 1.4504 - acc: 2.4361e-04 - val_loss: 1.1028 - val_acc: 0.0000e+00\n",
      "Train on 4105 samples, validate on 457 samples\n",
      "Epoch 1/3\n",
      " - 24s - loss: 1.9909 - acc: 2.4361e-04 - val_loss: 1.1590 - val_acc: 0.0000e+00\n",
      "Epoch 2/3\n",
      " - 4s - loss: 1.9697 - acc: 0.0000e+00 - val_loss: 1.2630 - val_acc: 0.0000e+00\n",
      "Epoch 3/3\n",
      " - 4s - loss: 1.9053 - acc: 0.0000e+00 - val_loss: 1.6095 - val_acc: 0.0000e+00\n",
      "184/184 [==============================] - 0s 1ms/step\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "[2.9243237142977505, 0.0]"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "best_run, best_model = optim.minimize(model=create_model,\n",
    "                                      data=data,\n",
    "                                      algo=tpe.suggest,\n",
    "                                      max_evals=100,\n",
    "                                      trials=Trials(),\n",
    "                                      notebook_name='6. Bayesian search')\n",
    "X_train, Y_train, X_test, Y_test = data()\n",
    "best_model.evaluate(X_test, Y_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'CuDNNLSTM': 1,\n",
       " 'CuDNNLSTM_1': 1,\n",
       " 'CuDNNLSTM_2': 1,\n",
       " 'CuDNNLSTM_3': 2,\n",
       " 'Dense': 2,\n",
       " 'Dropout': 0.3207527760045966,\n",
       " 'Dropout_1': 0.7342146978592597,\n",
       " 'Dropout_2': 0.692539034315719,\n",
       " 'Dropout_3': 0,\n",
       " 'batch_size': 1,\n",
       " 'optimizer': 0}"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "best_run"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "cu_dnnlstm (CuDNNLSTM)       (None, 60, 512)           1071104   \n",
      "_________________________________________________________________\n",
      "batch_normalization (BatchNo (None, 60, 512)           2048      \n",
      "_________________________________________________________________\n",
      "cu_dnnlstm_1 (CuDNNLSTM)     (None, 60, 256)           788480    \n",
      "_________________________________________________________________\n",
      "batch_normalization_1 (Batch (None, 60, 256)           1024      \n",
      "_________________________________________________________________\n",
      "dropout (Dropout)            (None, 60, 256)           0         \n",
      "_________________________________________________________________\n",
      "cu_dnnlstm_2 (CuDNNLSTM)     (None, 256)               526336    \n",
      "_________________________________________________________________\n",
      "batch_normalization_2 (Batch (None, 256)               1024      \n",
      "_________________________________________________________________\n",
      "dropout_1 (Dropout)          (None, 256)               0         \n",
      "_________________________________________________________________\n",
      "dense (Dense)                (None, 64)                16448     \n",
      "_________________________________________________________________\n",
      "batch_normalization_3 (Batch (None, 64)                256       \n",
      "_________________________________________________________________\n",
      "dropout_2 (Dropout)          (None, 64)                0         \n",
      "_________________________________________________________________\n",
      "dense_1 (Dense)              (None, 1)                 65        \n",
      "=================================================================\n",
      "Total params: 2,406,785\n",
      "Trainable params: 2,404,609\n",
      "Non-trainable params: 2,176\n",
      "_________________________________________________________________\n"
     ]
    }
   ],
   "source": [
    "best_model.summary()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train RMSE: 1.214087\n",
      "Test RMSE: 1.710065\n"
     ]
    }
   ],
   "source": [
    "trainScore = best_model.evaluate(X_train, y_train, verbose=0)\n",
    "print('Train RMSE: %2f' % math.sqrt(trainScore[0]))\n",
    "\n",
    "testScore = best_model.evaluate(X_val, y_val, verbose=0)\n",
    "print('Test RMSE: %2f'% math.sqrt(testScore[0]))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "p = best_model.predict(X_val)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[-0.27812603],\n",
       "       [-0.28023812],\n",
       "       [-0.28052413],\n",
       "       [-0.27906224],\n",
       "       [-0.28114653],\n",
       "       [-0.28050864],\n",
       "       [-0.27908546],\n",
       "       [-0.27816993],\n",
       "       [-0.27746588],\n",
       "       [ 0.16428892],\n",
       "       [-0.2786022 ],\n",
       "       [-0.2839166 ],\n",
       "       [ 0.1649587 ],\n",
       "       [ 0.16394548],\n",
       "       [ 0.1646165 ],\n",
       "       [ 0.16082357],\n",
       "       [ 0.16245025],\n",
       "       [-0.28478152],\n",
       "       [ 0.1627602 ],\n",
       "       [-0.2839347 ],\n",
       "       [-0.28338978],\n",
       "       [-0.28383735],\n",
       "       [-0.28554732],\n",
       "       [-0.29066938],\n",
       "       [-0.2927405 ],\n",
       "       [-0.29225358],\n",
       "       [-0.28938547],\n",
       "       [-0.28903428],\n",
       "       [-0.28856257],\n",
       "       [-0.28989416],\n",
       "       [-0.29222807],\n",
       "       [-0.29172513],\n",
       "       [-0.29278934],\n",
       "       [-0.29206505],\n",
       "       [-0.29018337],\n",
       "       [-0.28832966],\n",
       "       [-0.28687775],\n",
       "       [-0.2862999 ],\n",
       "       [-0.28806865],\n",
       "       [-0.28666744],\n",
       "       [-0.28619078],\n",
       "       [ 0.16618332],\n",
       "       [ 0.16557322],\n",
       "       [ 0.1649934 ],\n",
       "       [ 0.16414694],\n",
       "       [ 0.16183701],\n",
       "       [ 0.16505593],\n",
       "       [ 0.16504198],\n",
       "       [ 0.16514722],\n",
       "       [ 0.16459155],\n",
       "       [ 0.16051088],\n",
       "       [ 0.161776  ],\n",
       "       [ 0.1660755 ],\n",
       "       [ 0.16341077],\n",
       "       [ 0.16213635],\n",
       "       [ 0.16403952],\n",
       "       [ 0.16142087],\n",
       "       [ 0.16328478],\n",
       "       [ 0.16491397],\n",
       "       [ 0.15787373],\n",
       "       [ 0.16137809],\n",
       "       [ 0.16308   ],\n",
       "       [ 0.16191478],\n",
       "       [ 0.16312364],\n",
       "       [-0.3372691 ],\n",
       "       [-0.332821  ],\n",
       "       [ 0.16611606],\n",
       "       [-0.32766291],\n",
       "       [ 0.16572991],\n",
       "       [-0.3165623 ],\n",
       "       [-0.31373346],\n",
       "       [-0.31998947],\n",
       "       [-0.3228018 ],\n",
       "       [-0.3187885 ],\n",
       "       [-0.31698725],\n",
       "       [-0.31590682],\n",
       "       [-0.31559846],\n",
       "       [-0.31010783],\n",
       "       [-0.30823705],\n",
       "       [-0.30793288],\n",
       "       [-0.30549067],\n",
       "       [-0.30209988],\n",
       "       [-0.30210954],\n",
       "       [-0.31481403],\n",
       "       [-0.32107773],\n",
       "       [-0.327779  ],\n",
       "       [-0.32388136],\n",
       "       [-0.32102275],\n",
       "       [-0.3223014 ],\n",
       "       [-0.31794092],\n",
       "       [-0.31668967],\n",
       "       [-0.3108017 ],\n",
       "       [-0.31177512],\n",
       "       [-0.3115493 ],\n",
       "       [ 0.16592853],\n",
       "       [-0.30613926],\n",
       "       [-0.3081682 ],\n",
       "       [-0.30347556],\n",
       "       [-0.3036529 ],\n",
       "       [-0.29940835],\n",
       "       [-0.2994667 ],\n",
       "       [-0.3010282 ],\n",
       "       [-0.30667496],\n",
       "       [-0.30681658],\n",
       "       [-0.305147  ],\n",
       "       [-0.3021023 ],\n",
       "       [-0.29872054],\n",
       "       [-0.29417917],\n",
       "       [-0.28967887],\n",
       "       [-0.29049844],\n",
       "       [-0.29189184],\n",
       "       [-0.29289994],\n",
       "       [-0.29180238],\n",
       "       [-0.29065982],\n",
       "       [-0.2961411 ],\n",
       "       [-0.29728973],\n",
       "       [-0.29664266],\n",
       "       [-0.29528272],\n",
       "       [-0.29170033],\n",
       "       [-0.2941097 ],\n",
       "       [-0.29328406],\n",
       "       [-0.29079586],\n",
       "       [-0.28870767],\n",
       "       [-0.288542  ],\n",
       "       [-0.2914114 ],\n",
       "       [-0.2946204 ],\n",
       "       [-0.29314187],\n",
       "       [-0.2920751 ],\n",
       "       [-0.29601806],\n",
       "       [-0.2952516 ],\n",
       "       [-0.29623076],\n",
       "       [-0.29569715],\n",
       "       [-0.2936294 ],\n",
       "       [-0.2901727 ],\n",
       "       [-0.2878739 ],\n",
       "       [-0.28553516],\n",
       "       [-0.28389442],\n",
       "       [-0.28252232],\n",
       "       [-0.28336605],\n",
       "       [-0.282419  ],\n",
       "       [-0.2805924 ],\n",
       "       [-0.28240362],\n",
       "       [-0.28734013],\n",
       "       [-0.28948423],\n",
       "       [-0.28707993],\n",
       "       [-0.28940296],\n",
       "       [-0.2884013 ],\n",
       "       [-0.28731558],\n",
       "       [-0.28565833],\n",
       "       [-0.28543702],\n",
       "       [-0.28540358],\n",
       "       [-0.28900024],\n",
       "       [-0.29152733],\n",
       "       [-0.29115608],\n",
       "       [-0.28964266],\n",
       "       [-0.2881499 ],\n",
       "       [-0.28879595],\n",
       "       [-0.2900085 ],\n",
       "       [-0.28835472],\n",
       "       [-0.2879655 ],\n",
       "       [-0.28526935],\n",
       "       [-0.2878467 ],\n",
       "       [ 0.16850089],\n",
       "       [-0.28638354],\n",
       "       [ 0.16648276],\n",
       "       [ 0.16240415],\n",
       "       [ 0.16339576],\n",
       "       [ 0.15957664],\n",
       "       [ 0.15484664],\n",
       "       [ 0.16075891],\n",
       "       [ 0.16702525],\n",
       "       [ 0.16731136],\n",
       "       [ 0.16617396],\n",
       "       [-0.29226205],\n",
       "       [-0.2920766 ],\n",
       "       [ 0.16148141],\n",
       "       [ 0.16517346],\n",
       "       [ 0.16001679],\n",
       "       [ 0.16028017],\n",
       "       [-0.29715812],\n",
       "       [-0.29787707],\n",
       "       [-0.30432844],\n",
       "       [-0.3043464 ],\n",
       "       [-0.30541107]], dtype=float32)"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "p"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "If the chosen model fits worse than a horizontal line, then R2 is negative."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Plotting Predicted value vs True value"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "data1 = pd.read_hdf('data2.h5', 'new_data')\n",
    "#data.index = pd.to_datetime(data.index, format='%Y-%m-%d')\n",
    "data1['Y'] = data1.lrets.shift(-1)\n",
    "data1.dropna(axis=0, inplace=True)\n",
    "times = sorted(data1.index.values)\n",
    "last_5pct = sorted(data1.index.values)[-int(0.05*len(times))]\n",
    "validation_main_df = data1[(data1.index >= last_5pct)]\n",
    "prescaler = RobustScaler()\n",
    "prescaler = prescaler.fit(validation_main_df)\n",
    "padding = np.zeros((184, 9))\n",
    "pred_result = pd.DataFrame(data=padding)\n",
    "pred_result['9'] = p\n",
    "pred = prescaler.inverse_transform(pred_result)\n",
    "\n",
    "val_result = pd.DataFrame(data=padding)\n",
    "val_result['9'] = y_val\n",
    "val = prescaler.inverse_transform(val_result)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "pred = pred[:, -1]\n",
    "val = val[:, -1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1512x504 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(21,7))\n",
    "plt.plot(data1.index[-len(pred):], np.expm1(pred)*100, color='red', label='Prediction')\n",
    "plt.plot(data1.index[-len(val):], np.expm1(val)*100, color='blue', label='True Value')\n",
    "plt.xlabel(\"Date\")\n",
    "plt.ylabel(\"Return (%)\")\n",
    "plt.title('Predicted value vs True Value')\n",
    "plt.legend(loc='best')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# The residual plot is not normal"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "((array([-2.67289247, -2.36046913, -2.18213076, -2.05428693, -1.95319937,\n",
       "         -1.86884759, -1.7960154 , -1.73162634, -1.67370719, -1.62091343,\n",
       "         -1.57228594, -1.52711548, -1.48486215, -1.44510502, -1.40750925,\n",
       "         -1.37180394, -1.33776662, -1.30521228, -1.27398532, -1.24395353,\n",
       "         -1.21500362, -1.18703768, -1.15997053, -1.13372755, -1.10824298,\n",
       "         -1.08345855, -1.05932238, -1.03578805, -1.01281386, -0.99036218,\n",
       "         -0.96839893, -0.94689317, -0.92581667, -0.90514361, -0.88485034,\n",
       "         -0.86491508, -0.84531776, -0.82603984, -0.80706413, -0.78837467,\n",
       "         -0.76995661, -0.75179612, -0.73388025, -0.71619691, -0.69873475,\n",
       "         -0.68148309, -0.66443192, -0.64757178, -0.63089375, -0.61438939,\n",
       "         -0.59805072, -0.58187017, -0.56584054, -0.54995501, -0.53420707,\n",
       "         -0.51859052, -0.50309943, -0.48772815, -0.47247125, -0.45732355,\n",
       "         -0.44228007, -0.42733602, -0.41248681, -0.39772801, -0.38305534,\n",
       "         -0.36846467, -0.35395204, -0.33951357, -0.32514555, -0.31084433,\n",
       "         -0.29660642, -0.28242838, -0.26830689, -0.25423871, -0.24022066,\n",
       "         -0.22624967, -0.2123227 , -0.19843679, -0.18458905, -0.17077661,\n",
       "         -0.15699667, -0.14324649, -0.12952333, -0.11582453, -0.10214743,\n",
       "         -0.08848941, -0.07484788, -0.06122026, -0.04760401, -0.03399657,\n",
       "         -0.02039543, -0.00679806,  0.00679806,  0.02039543,  0.03399657,\n",
       "          0.04760401,  0.06122026,  0.07484788,  0.08848941,  0.10214743,\n",
       "          0.11582453,  0.12952333,  0.14324649,  0.15699667,  0.17077661,\n",
       "          0.18458905,  0.19843679,  0.2123227 ,  0.22624967,  0.24022066,\n",
       "          0.25423871,  0.26830689,  0.28242838,  0.29660642,  0.31084433,\n",
       "          0.32514555,  0.33951357,  0.35395204,  0.36846467,  0.38305534,\n",
       "          0.39772801,  0.41248681,  0.42733602,  0.44228007,  0.45732355,\n",
       "          0.47247125,  0.48772815,  0.50309943,  0.51859052,  0.53420707,\n",
       "          0.54995501,  0.56584054,  0.58187017,  0.59805072,  0.61438939,\n",
       "          0.63089375,  0.64757178,  0.66443192,  0.68148309,  0.69873475,\n",
       "          0.71619691,  0.73388025,  0.75179612,  0.76995661,  0.78837467,\n",
       "          0.80706413,  0.82603984,  0.84531776,  0.86491508,  0.88485034,\n",
       "          0.90514361,  0.92581667,  0.94689317,  0.96839893,  0.99036218,\n",
       "          1.01281386,  1.03578805,  1.05932238,  1.08345855,  1.10824298,\n",
       "          1.13372755,  1.15997053,  1.18703768,  1.21500362,  1.24395353,\n",
       "          1.27398532,  1.30521228,  1.33776662,  1.37180394,  1.40750925,\n",
       "          1.44510502,  1.48486215,  1.52711548,  1.57228594,  1.62091343,\n",
       "          1.67370719,  1.73162634,  1.7960154 ,  1.86884759,  1.95319937,\n",
       "          2.05428693,  2.18213076,  2.36046913,  2.67289247]),\n",
       "  array([-1.81065481e-02, -1.74598007e-02, -1.59147068e-02, -1.44906409e-02,\n",
       "         -1.34188604e-02, -1.33815225e-02, -1.28987053e-02, -1.24892635e-02,\n",
       "         -1.23893355e-02, -1.23197006e-02, -1.18770037e-02, -1.17747405e-02,\n",
       "         -1.13701850e-02, -1.11057599e-02, -1.03220916e-02, -1.00492233e-02,\n",
       "         -9.67332177e-03, -9.44741357e-03, -9.19959360e-03, -9.11543126e-03,\n",
       "         -8.27781191e-03, -7.62209292e-03, -7.15909762e-03, -6.99051177e-03,\n",
       "         -6.81434843e-03, -6.54369519e-03, -6.53173671e-03, -6.30076408e-03,\n",
       "         -6.29923042e-03, -6.12337866e-03, -5.96108850e-03, -5.83318429e-03,\n",
       "         -5.49389543e-03, -5.48966608e-03, -5.35708104e-03, -5.24873833e-03,\n",
       "         -5.23021043e-03, -5.12123599e-03, -4.68757416e-03, -4.61808760e-03,\n",
       "         -4.14370905e-03, -4.13807279e-03, -4.08144170e-03, -4.07527821e-03,\n",
       "         -3.93765979e-03, -3.82517556e-03, -3.81018207e-03, -3.79579956e-03,\n",
       "         -3.70461606e-03, -3.58589704e-03, -3.41892286e-03, -3.37310465e-03,\n",
       "         -3.20091854e-03, -3.08265421e-03, -3.04081607e-03, -2.82169669e-03,\n",
       "         -2.73916674e-03, -2.67421874e-03, -2.50778060e-03, -2.48406969e-03,\n",
       "         -2.37186056e-03, -2.36631394e-03, -2.36618907e-03, -2.34124107e-03,\n",
       "         -2.31348746e-03, -2.21310454e-03, -2.19666704e-03, -2.14843071e-03,\n",
       "         -2.14605867e-03, -1.89593089e-03, -1.85009497e-03, -1.76522371e-03,\n",
       "         -1.75798547e-03, -1.69539354e-03, -1.67660338e-03, -1.57333298e-03,\n",
       "         -1.53185435e-03, -1.44384068e-03, -1.39045789e-03, -1.34118830e-03,\n",
       "         -1.29407226e-03, -1.25247134e-03, -1.22862071e-03, -1.18215215e-03,\n",
       "         -1.09317083e-03, -8.76424467e-04, -8.68905131e-04, -7.72791505e-04,\n",
       "         -7.49015561e-04, -7.31715528e-04, -6.41993884e-04, -5.06372305e-04,\n",
       "         -4.20788015e-04, -3.87178558e-04, -3.75762117e-04, -3.24568222e-04,\n",
       "         -2.79614855e-04, -2.49465430e-04, -2.45291953e-04, -2.44328649e-04,\n",
       "         -2.31378004e-04, -2.18564032e-04, -2.00511537e-04, -1.25346893e-04,\n",
       "         -1.19725091e-04, -6.98280416e-05,  9.88313626e-05,  1.01734854e-04,\n",
       "          1.45788006e-04,  2.31333536e-04,  2.50019670e-04,  2.63155339e-04,\n",
       "          2.91914760e-04,  3.19257821e-04,  3.76245113e-04,  4.15816565e-04,\n",
       "          4.34318254e-04,  4.41766716e-04,  4.46719120e-04,  5.22103638e-04,\n",
       "          5.70158288e-04,  5.72081670e-04,  7.07305575e-04,  7.43088017e-04,\n",
       "          8.55766871e-04,  1.03181738e-03,  1.08956100e-03,  1.13081983e-03,\n",
       "          1.15206987e-03,  1.23883088e-03,  1.24297202e-03,  1.40221573e-03,\n",
       "          1.41766576e-03,  1.51892693e-03,  1.52562059e-03,  1.59445977e-03,\n",
       "          1.74138348e-03,  2.01545323e-03,  2.02248878e-03,  2.07311953e-03,\n",
       "          2.13167708e-03,  2.17688350e-03,  2.46916809e-03,  2.51950427e-03,\n",
       "          2.64250356e-03,  2.82281268e-03,  2.89856147e-03,  3.06194703e-03,\n",
       "          3.12390766e-03,  3.15088396e-03,  3.40333021e-03,  3.40940348e-03,\n",
       "          3.41871449e-03,  3.48089435e-03,  3.75462769e-03,  3.84520977e-03,\n",
       "          4.35391907e-03,  4.72495958e-03,  4.82019912e-03,  4.82439163e-03,\n",
       "          4.88357965e-03,  4.93924952e-03,  5.03284457e-03,  5.05904720e-03,\n",
       "          5.15931404e-03,  5.67046885e-03,  5.99056427e-03,  6.24332297e-03,\n",
       "          6.52813762e-03,  6.53547939e-03,  7.03605828e-03,  7.85328729e-03,\n",
       "          8.27133827e-03,  1.03768398e-02,  1.09537225e-02,  1.24256231e-02,\n",
       "          1.25760392e-02,  1.65228325e-02,  2.02428515e-02,  2.27383181e-02,\n",
       "          2.44985899e-02,  3.21844076e-02,  3.90371376e-02,  4.24966565e-02])),\n",
       " (0.0073184050885319206, -0.0003790747608376702, 0.9062283707379731))"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import scipy.stats as stats\n",
    "residual = np.expm1(pred) - np.expm1(val)\n",
    "stats.probplot(residual, dist=\"norm\", plot=plt)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 195,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Updates to be continued"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
